package ar.edu.unq.epers.grupo3;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class VuelosHome {

    private Connection getConnection() throws Exception {
        Class.forName("com.mysql.jdbc.Driver");
        return DriverManager.getConnection("jdbc:mysql://localhost/BaseGabySergio?user=root&password=root");
    }

    public void grabar(final Vuelo vuelo) throws Exception {
        Connection conn = null;
        PreparedStatement ps = null;
        try {
            conn = this.getConnection();
            if (vuelo.getId() == null) {
                ps = conn.prepareStatement("INSERT INTO Vuelo (CODIGO,CiudadOrigen,CiudadDestino) VALUES (?)");
                ps.setString(1, vuelo.getCodigo());
                ps.setString(2, vuelo.getCiudadOrigen().getNombre());
                ps.setString(3, vuelo.getCiudadDestino().getNombre());
                ps.execute();
            } else {
                ps = conn.prepareStatement("UPDATE INTO Vuelo (CODIGO,CiudadOrigen,CiudadDestino) VALUES (?)");
                ps.setString(1, vuelo.getCodigo());
                ps.setString(2, vuelo.getCiudadOrigen().getNombre());
                ps.setString(3, vuelo.getCiudadDestino().getNombre());
                ps.execute();
            }
            ps.close();
        } finally {
            if (ps != null) {
                ps.close();
            }
            if (conn != null) {
                conn.close();
            }
        }
    }

    public Vuelo consultarVuelo(final String codigo) throws Exception {
        Connection conn = null;
        PreparedStatement ps = null;
        try {

            conn = this.getConnection();
            ps = conn.prepareStatement("SELECT ID,CODIGO FROM Vuelo WHERE CODIGO = ?");
            ps.setString(1, codigo);
            ResultSet rs = ps.executeQuery();

            int id = rs.getInt("ID");

            ps.close();
            // type filter text
            return new Vuelo(codigo, id);

        } finally {
            if (ps != null) {
                ps.close();
            }
            if (conn != null) {
                conn.close();
            }
        }

    }
}
